17905f56c9c697dd3b0c34cfbc184adb3d643af8,modules/assignment/src/test/java/com/intuit/wasabi/assignment/impl/AssignmentsImplTest.java,AssignmentsImplTest,getAssignment_test_3,#,612
Before Change
.withCreated(DATE)
.withCacheable(null)
.build();
Mockito.when(assignmentsRepository.assignUser(assignment, experiment, DATE)).thenReturn(newAssignment);
Mockito.when(assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-a"), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-a"), context);
assert assignment.getBucketLabel() == null;
assert assignment.getStatus() == Assignment.Status.NEW_ASSIGNMENT;
redBucket.setState(Bucket.State.CLOSED);
redBucket.setAllocationPercent(0.0);
yellowBucket.setAllocationPercent(1.0);
result = HashBasedTable.create();
result.put(experiment.getID(), experiment.getLabel(), "red");
Mockito.when(assignmentsRepository.getAssignments(User.ID.valueOf("user-b"), testApp, context, allExperiments)).thenReturn(result);
Mockito.when(assignmentsRepository.getAssignments(User.ID.valueOf("user-a"), testApp, context, allExperiments)).thenReturn(result);
builder = Assignment.newInstance(experiment.getID())
.withApplicationName(experiment.getApplicationName())
.withUserID(User.ID.valueOf("user-b"))
.withContext(context)
.withBucketLabel(null);
assignment = builder.build();
newAssignment = Assignment.newInstance(assignment.getExperimentID())
.withBucketLabel(assignment.getBucketLabel())
.withUserID(assignment.getUserID())
.withContext(assignment.getContext())
.withStatus(Assignment.Status.NEW_ASSIGNMENT)
.withCreated(DATE)
.withCacheable(null)
.build();
Mockito.when(assignmentsRepository.assignUser(assignment, experiment, DATE)).thenReturn(newAssignment);
Mockito.when(assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-b"), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-b"), context);
assert assignment.getBucketLabel() == null;
assert assignment.getStatus() == Assignment.Status.NEW_ASSIGNMENT;
newAssignment = Assignment.newInstance(assignment.getExperimentID())
.withBucketLabel(assignment.getBucketLabel())
.withUserID(assignment.getUserID())
.withContext(assignment.getContext())
.withStatus(Assignment.Status.EXISTING_ASSIGNMENT)
.withCreated(DATE)
.withCacheable(null)
.build();
Mockito.when(assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-b"), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(experiment.getID(), User.ID.valueOf("user-b"), context);
assert assignment.getStatus() == Assignment.Status.EXISTING_ASSIGNMENT;
assert assignment.getBucketLabel() == null;
After Change
.build();
Mockito.when(assignmentsRepository.getAssignment(User.ID.valueOf("user-a"), testApp, experiment.getID(), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(User.ID.valueOf("user-a"), testApp, experiment.getID(), context);
assert assignment.getBucketLabel() == null;
assert assignment.getStatus() == Assignment.Status.NEW_ASSIGNMENT;
redBucket.setState(Bucket.State.CLOSED);
redBucket.setAllocationPercent(0.0);
yellowBucket.setAllocationPercent(1.0);
result = HashBasedTable.create();
result.put(experiment.getID(), experiment.getLabel(), "red");
//Mockito.when(assignmentsRepository.getAssignments(User.ID.valueOf("user-b"), testApp, context, allExperiments)).thenReturn(result);
//Mockito.when(assignmentsRepository.getAssignments(User.ID.valueOf("user-a"), testApp, context, allExperiments)).thenReturn(result);
builder = Assignment.newInstance(experiment.getID())
.withApplicationName(experiment.getApplicationName())
.withUserID(User.ID.valueOf("user-b"))
.withContext(context)
.withBucketLabel(null);
assignment = builder.build();
newAssignment = Assignment.newInstance(assignment.getExperimentID())
.withBucketLabel(assignment.getBucketLabel())
.withUserID(assignment.getUserID())
.withContext(assignment.getContext())
.withStatus(Assignment.Status.NEW_ASSIGNMENT)
.withCreated(DATE)
.withCacheable(null)
.build();
Mockito.when(assignmentsRepository.getAssignment(User.ID.valueOf("user-b"), testApp, experiment.getID(), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(User.ID.valueOf("user-b"), testApp, experiment.getID(), context);
assert assignment.getBucketLabel() == null;
assert assignment.getStatus() == Assignment.Status.NEW_ASSIGNMENT;
newAssignment = Assignment.newInstance(assignment.getExperimentID())
.withBucketLabel(assignment.getBucketLabel())
.withUserID(assignment.getUserID())
.withContext(assignment.getContext())
.withStatus(Assignment.Status.EXISTING_ASSIGNMENT)
.withCreated(DATE)
.withCacheable(null)
.build();
Mockito.when(assignmentsRepository.getAssignment(User.ID.valueOf("user-b"), testApp, experiment.getID(), context)).thenReturn(newAssignment);
assignment = assignmentsRepository.getAssignment(User.ID.valueOf("user-b"), testApp, experiment.getID(), context);
assert assignment.getStatus() == Assignment.Status.EXISTING_ASSIGNMENT;